using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("CheatMgr")]
	public class CheatMgr : MonoBehaviour
	{
		public Rect m_cheatInputBackground => method_2<Rect>("m_cheatInputBackground");

		public bool m_inputActive => method_2<bool>("m_inputActive");

		public List<string> m_cheatHistory => method_3<Class272>("m_cheatHistory")?.method_25();

		public int m_cheatHistoryIndex => method_2<int>("m_cheatHistoryIndex");

		public string m_cheatTextBeforeScrollingThruHistory => method_4("m_cheatTextBeforeScrollingThruHistory");

		public string m_cheatTextBeforeAutofill => method_4("m_cheatTextBeforeAutofill");

		public int m_autofillMatchIndex => method_2<int>("m_autofillMatchIndex");

		public static int MAX_HISTORY_LINES => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "CheatMgr", "MAX_HISTORY_LINES");

		public CheatMgr(IntPtr address, string className)
			: base(address, className)
		{
		}

		public CheatMgr(IntPtr address)
			: this(address, "CheatMgr")
		{
		}

		public static CheatMgr Get()
		{
			return MonoClass.smethod_15<CheatMgr>(TritonHs.MainAssemblyPath, "", "CheatMgr", "Get", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public bool HandleKeyboardInput()
		{
			return method_11<bool>("HandleKeyboardInput", Array.Empty<object>());
		}

		public void ReadCheatHistoryOption()
		{
			method_8("ReadCheatHistoryOption");
		}

		public void WriteCheatHistoryOption()
		{
			method_8("WriteCheatHistoryOption");
		}

		public void OnGUI()
		{
			method_8("OnGUI");
		}

		public void OnInputComplete(string inputCommand)
		{
			method_8("OnInputComplete", inputCommand);
		}

		public string ProcessCheat(string inputCommand)
		{
			return method_13("ProcessCheat", inputCommand);
		}

		public string ExtractFunc(string inputCommand)
		{
			return method_13("ExtractFunc", inputCommand);
		}

		public string GetOriginalFunc(string func)
		{
			return method_13("GetOriginalFunc", func);
		}
	}
}
